/* {وَقُلْ رَبِّ زِدْنِي عِلْمًاً} */
#include<bits/stdc++.h>
using namespace std;
#define TY cin.tie(0), cout.tie(0), cin.sync_with_stdio(0), cout.sync_with_stdio(0);
#define ll long long int
#define f(nn) for(ll i = 0; i < (nn); i++)
#define fj(nn) for(ll j = 0; j < (nn); j++)
int dx[] = { +0, +0, -1, +1, +1, +1, -1, -1 };
int dy[] = { -1, +1, +0, +0, +1, -1, +1, -1 };
const ll N = 3000;
int n,m,le[N][N],ri[N][N],vis[N][N],x,y,l,r;
char arr[N][N];
bool valid(int i,int j){
return (i>=0 && i<n && j>=0 && j<m && arr[i][j]!='*' && !vis[i][j]);
}
void BFS() {
x--,y--;
deque<pair<int,int>> q;
q.emplace_front(x,y);
vis[x][y] = 1;
ri[x][y] = r;
le[x][y] = l;
while (!q.empty()) {
int xx = q.front().first;
int yy = q.front().second;
q.pop_front();
for (int i = 0; i < 4; ++i) {
int ii = xx + dx[i], jj = yy + dy[i];
if(valid(ii,jj)){
if(i>1){
q.emplace_front(ii,jj);
ri[ii][jj] = ri[xx][yy];
le[ii][jj] = le[xx][yy];
vis[ii][jj] = 1;
}
else if(i==0 && le[xx][yy]>0){
q.emplace_back(ii,jj);
ri[ii][jj] = ri[xx][yy];
le[ii][jj] = le[xx][yy] - 1;
vis[ii][jj] = 1;
}
else if(i==1 && ri[xx][yy]>0){
q.emplace_back(ii,jj);
ri[ii][jj] = ri[xx][yy] - 1;
le[ii][jj] = le[xx][yy];
vis[ii][jj] = 1;
}
}
}
}
}
void jo() {
int cnt = 0;
cin>>n>>m>>x>>y>>l>>r;
f(n)fj(m)cin>>arr[i][j];
BFS();
f(n)fj(m)cnt+=vis[i][j];
cout<<cnt<<"\n";
}
int main() {
TY
jo();
}
6. Zigzag Conversion | 1612B - Special Permutation |
1481. Least Number of Unique Integers after K Removals | 1035. Uncrossed Lines |
328. Odd Even Linked List | 1219. Path with Maximum Gold |
1268. Search Suggestions System | 841. Keys and Rooms |
152. Maximum Product Subarray | 337. House Robber III |
869. Reordered Power of 2 | 1593C - Save More Mice |
1217. Minimum Cost to Move Chips to The Same Position | 347. Top K Frequent Elements |
1503. Last Moment Before All Ants Fall Out of a Plank | 430. Flatten a Multilevel Doubly Linked List |
1290. Convert Binary Number in a Linked List to Integer | 1525. Number of Good Ways to Split a String |
72. Edit Distance | 563. Binary Tree Tilt |
1306. Jump Game III | 236. Lowest Common Ancestor of a Binary Tree |
790. Domino and Tromino Tiling | 878. Nth Magical Number |
2099. Find Subsequence of Length K With the Largest Sum | 1608A - Find Array |
416. Partition Equal Subset Sum | 1446. Consecutive Characters |
1618A - Polycarp and Sums of Subsequences | 1618B - Missing Bigram |